home *** CD-ROM | disk | FTP | other *** search
- From spworley@ATHENA.MIT.EDU Tue Jun 11 20:34:32 1991
- Received: from E40-008-11.MIT.EDU by ATHENA.MIT.EDU with SMTP
- id AA04654; Tue, 11 Jun 91 23:35:37 EDT
- From: spworley@ATHENA.MIT.EDU
- Received: by e40-008-11.MIT.EDU (5.61/4.7) id AA03208; Tue, 11 Jun 91 23:35:31 -0400
- Message-Id: <9106120335.AA03208@e40-008-11.MIT.EDU>
- To: imagine@ATHENA.MIT.EDU
- Subject: Intro Detail Tutorial (file 1 of 3)
- Date: Tue, 11 Jun 91 23:35:30 EDT
- Status: RO
-
-
- This file is a tutorial introduction to the Detail Editor. It
- describes the way Imagine stores objects, how Imagine interacts with
- you to show the objects you are building, how you can build and
- manipulate these objects, and make complex objects formed of many
- sub-objects.
-
- A later tutorial will describe the more advanced features of the
- Detail Editor which allows you to manipulate objects in much more
- complex ways, like cutting one object with another, making outlines
- and filling them with faces, defining objects by successive cross
- sections, and bending objects around tubes and spheres, and
- even using outlines as a lathe guide.
-
- A third tutorial will be a more general discussion of the approaches
- to object creation, discussing how to plan and actually build your
- objects as opposed to what each menu item in the Detail Editor does.
-
- The last two tutorials have not been written as of today (6/11/91) but
- will be forthcoming in the next month or so. My previous tutorials
- are on texture, brushmaps, the use of transparency and glass, the
- Forms Editor, and the Project Editor.
-
- ----------------------
-
- This tutorial is more basic than most of my others. I realize
- that many people will be disappointed, but I feel it is necessary to
- give an introduction describing how objects are defined and how the
- standard controls in the all of the editors are used. New users will
- GREATLY appreciate a description of the goals of the Detail Editor and
- how objects are defined and used in Imagine before delving into a
- description of the suboptions of each menu item. For those of you who
- are looking for a more hard-core Detail tutorial, none to fear! It's
- my next project, and it will should blend into a nice, logical
- successor to this tutorial. Even those who scoff at this introduction
- might want to read it anyway; there are a lot of subtle points
- (especially about pick and select!) that are well worth learning
- about.
-
- This tutorial describes the Detail Editor in Imagine version 1.1. There
- are only minor differences (Taut and Fracture) from version 1.0.
-
-
- -----------
-
-
-
-
-
-
-
- An Introduction to the Detail Editor
- Last Revised 6/11/91
- By Steven Worley
-
- -------------------------------------------------------------------------
- I. What are Imagine objects?
- -------------------------------------------------------------------------
-
- When a computer program wants to draw a 3D object, it must have some
- way of internally representing it. Some modelers store each object as
- a bunch of 2 dimensional polygons- a 3D object is a formed from a
- whole bunch of these polygons pasted together. A cube might be defined
- as six 2D squares arranged in a group. Since our final picture just
- has to LOOK like it is solid, defining the outer surface is usually
- all we need to do to make it seem as if the objects ARE solid.
-
- Any object can be defined as a bunch of flat polygons. Curved surfaces
- like a sphere can use a lot of polygons in order to approximate the
- surface closely; certain computer tricks (including a very important
- one called Phong shading) can smooth out the surface even more. Most
- of the 3D objects, or models, that you've ever seen in any 3D computer
- graphic were defined as polygons. Sometimes advanced programs define
- surfaces with a mathematical equation, or by a certain type of curve,
- and sometimes a computer model will have certain objects it "knows"
- how they should look (like a mathematically defined sphere or cone)
- but most use polygons for definition, Imagine included.
-
- All objects in Imagine are defined as a bunch of triangles. Nothing
- more. It is particularly easy for a computer to decide what a
- triangle would look like when viewed as a 3D image. Any more complex
- polygon (like a square or octagon) can be broken down into a bunch of
- triangles pretty easily. Having only one "shape" to deal with is
- actually a convenience for us, as we don't have to worry about
- questions of what type of polygons a certain object is made of, or how
- to convert one type of polygon into another. The computer likes
- dealing only with triangles because it can optimize it's renderer, the
- program that actually draws the pictures, to expect and deal with just
- one shape simple instead of 246 different ones.
-
- Although an object is made of only triangles (called FACES) it has
- points and edges which define where these faces go. If you think of a
- simple triangle, it has 3 defining points at the corners, three edges
- connecting these points, and one face which actually makes up the body
- of the triangle. Imagine can better deal with the objects by defining
- these sub-parts, and it allows us to manipulate the objects much more
- easily.
-
- Every object has a number of defined POINTS. Imagine understands an
- EDGE to be a line segment that connects any two of these points. A
- face is defined by naming the three edges that make it up. Instead of
- storing nine numbers for each triangle (the X,Y,Z location of each
- corner) it just names the edges, which in turn name the points. This
- reduces the size of a description of an object considerably. It also
- helps in editing objects, since if you move a point, each face that it
- is part of will adjust itself to the include the new location of the
- point. The other alternative would be to have each face manually
- manipulated individually, which is obviously a big pain.
-
- Think of a square. Imagine would store a square as two triangles that
- share one edge together. The square would actually contain FIVE edges
- (the four sides and the diagonal) and FOUR points (one at each of the
- corners.) It would have two faces, or triangles. A cube is stored as
- twelve faces, formed by eighteen edges, which are in turn defined by
- eight points.
-
- This definition of objects actually gives us some extra leeway in how
- we define our model. Imagine doesn't require your object to be
- connected at all; that is, your object could be two completely separate
- surfaces that never touch. You might want an object to be a flying
- logo. The letters don't actually touch and form one solid object; they
- are independent from each other. Imagine doesn't care; you can call
- any collection of points, edges, and faces an object. Imagine also
- gives you tools for splitting off part of an object (like a letter) or
- joining two parts together.
-
- Since this is a computer model and not a physical one, we can violate
- physics and have objects self-intersect. You might overlap two spheres
- half-way and join them together to form one object. You'll only see the
- outer surface when you render the new double-sphere object.
-
- There actually are two objects that Imagine does not define as a group
- of points, edges, and faces: a perfect sphere and an infinite plane.
- These are the only exceptions to the normal definition of objects in
- Imagine. Well, OK, there's another. An axis containing NO points can
- still be manipulated as an object. It certainly won't show up in a
- render, but sometimes it's nice to use a lone axis as an invisible
- object in certain cases. You can also use the axis as the start of a
- brand new object.
-
- There are certain "Editors" in Imagine that allow us to view and
- manipulate objects in different ways. Some editors let you place
- objects in scenes, or define how the objects change with time. The
- Detail Editor is where objects are usually created and modified. It
- allows low-level editing of objects; you can add points and faces by
- hand, move them, delete old ones and in general be as picky as you
- like in adjusting every point.
-
- Defining objects point-by-point is obviously not very suited to
- complex objects, sometimes with THOUSANDS of points. There are more
- powerful controls that let you modify your object in more global ways.
- You can add pre-made 'primitive' objects like a cylinder or a torus
- (doughnut shape.) These primitive objects have the points, edges, and
- faces that define it already defined. There are certain tools that
- let you draw an outline, say the profile of a chess pawn, which is
- converted to a three-dimensional `spun' object, as if it was chiseled
- out on a lathe. Other tools let you slice off parts of your object
- using knives that you can build yourself. In general, object creation
- is done with these powerful tools, and picky touch-ups are the only
- time you grab and move individual points. A sculptor does not glue
- sand grains together!
-
- -------------------------------------------------------------------------
- II. Looking at Stuff in the Detail Editor
- -------------------------------------------------------------------------
-
- The Detail Editor is the program that lets you manipulate and modify
- objects in Imagine. Like the other editors (and any Amiga program, for
- that matter) Imagine gets input and directions from you by either
- moving the mouse and clicking it's buttons, or by typing on the
- keyboard. Most advanced options use pull-down menus to select the
- function you want to perform. An important trick, especially when you
- start using Imagine a lot, is keyboard-equivalents. This lets you
- select menu items via the keyboard, by pressing the right Amiga key
- along with another letter or number. All of the keyboard equivalents
- can be selected via pull-down menus, although not all menu items have
- keyboard equivalents. You'll find that learning the most used
- commands' keyboard equivalents can save a LOT of time. Its quick and
- easy to punch right-Amiga-o to zoom your view out; pulling the menu
- down repeatedly is a pain. A few other commands (especially moving,
- rotating, and scaling objects) use the keyboard to indicate what you
- want to do (move, rotate, or scale) while simultaneously using the
- mouse to control the extent of the transformation.
-
- You can get into it from any point in Imagine by selecting the menu
- item 'Detail Editor' from the Project pull-down menu. The screen
- should then split into four smaller windows with a thin status line at
- the bottom of the screen and another at the top.
-
- When you start up the Detail Editor, you'll see what is known as a
- "Quad-View." Are four windows labeled "top", "front", "right", and
- "perspective", which are different ways of viewing the object you are
- manipulating. It is difficult to manipulate 3D objects with a 2D mouse
- and a 2D screen, and the tri-view is a compromise that makes the best
- of these unfortunate 2D restrictions.
-
- The top, right, and front views show you the wire-frame skeleton of
- the object you're editing. A wire-frame is a view of your object with
- each edge shown as a line segment. Faces are NOT shown, so the object
- looks like it's built from pieces of wire that join at the outside
- edges of the object, hence the name wireframe. Wireframes have two
- advantages; they are much faster to draw than "solid" models, and
- since you can see _into_ the object, you can manipulate points and
- edges on the interior of the object that you wouldn't normally see.
-
- The top, right and front views are just that- a wireframe view of your
- object shown from the three orthogonal (right angle) directions. There
- is also a small axis at the bottom left corner of each view that shows
- the world's X,Y,Z coordinate system. In Imagine, the X,Y,Z is defined
- just like it is in mathematics- X is left to right, Y is in to out,
- and Z is down to up. Some 3D programs define Z to be in-and-out, so
- note Imagine's difference.
-
- There is an absolute "world" coordinate system defined by these axes.
- You can select "Coordinates" from the Display menu, which will
- continually display the coordinates of the mouse pointer in the
- world's X, Y, and Z system. The units that it measures in are
- arbitrary, but it is often convenient to call them "Imagine Units."
- Objects tend to be on the order of 10 to 100 Imagine Units in size,
- since this is a comfortable scale to deal with when we design
- scenes to be rendered.
-
- There is a grid shown in the three main windows. This grid is used to
- give you a sense of scale, and can be turned on or off in the Display
- menu. The spacing between the lines can be set by choosing "Grid
- Size", also from the Display window. The default is 20, which is a
- reasonable starting size. Some commands let you use the grid to snap
- objects to precise locations- these are the most common reasons you
- want to change the grid size.
-
- The fourth window (with no grid in it) is called the "perspective"
- window, which allows you to view your object from any direction. You
- can also change modes to view your object as a wireframe or as a
- "solid" model, where the faces become opaque so that you cannot see
- through your object. In this window, you CANNOT manipulate your
- objects- it is a view only.
-
- Each of the four windows can be quickly zoomed to take up the full
- screen very easily by merely clicking on the tall narrow box to the
- left of each view that contains the name of the window. The window
- will expand to take up the entire screen, allowing you to have a
- better view of whatever you're working on. To zoom back to the
- quad-view, just click on the name to the left again. To go immediately
- from a full screen display of one view to a full screen display of
- another, you just click the name of the new view to the right. Being
- able to see all four views at once is often an advantage, but so is
- seeing a larger, more detailed view. This method allows you to quickly
- and easily change how you look at your model.
-
- Just to get a sense of how this works, pull down the menu item
- 'Functions' and select 'Add primitive'. Click on the 'Torus' button
- and click on 'OK' to accept the default parameters. All this did was
- make a pre-defined object that we can look at when we manipulate the
- views.
-
- You should see an object in all four of the windows. This is the same
- object, just viewed from different directions. Remember the three main
- views (Top, Front, and Right) all show a WIREFRAME view from their
- respective directions, so the inside of the doughnut might look very
- complex.
-
- Perspective, the remaining view, also shows a wireframe view of the
- doughnut. You can change the view by manipulating the two white
- sliding boxes on the top and left of the window. The bottom white
- slider lets you view from different directions AROUND the object. If
- the slider is in the middle, you're looking at the front. If it's 3/4
- of the way to the right, you're looking at the right hand side, and if
- it's all the way in either direction, you're looking at the back. The
- vertical slider on the right controls the ANGLE you're looking at the
- object from. Centered is a level perspective, all the way up gives you
- a straight-down view, and all the way down gives you a straight-up
- view. By combining these two sliders you can look at your object from
- any direction.
-
- You can change the perspective view by selecting 'wireframe' or
- 'solid' from the Display pull-down menu. Solid takes longer to show
- your object, but removes the points that are hidden, getting rid of
- the X-ray wireframe view. A final way of changing the perspective view
- is by selecting 'shaded' from the Mode pull-down menu and zooming the
- perspective view to the full screen. This shades the object in false
- black and white colors which sometimes lets you see the shape of the
- object more clearly.
-
- There are a few commands that let you change your absolute vantage of
- your object. You can zoom your view (on all windows) in and out by
- using 'zoom in' and 'zoom out' from the View menu. This lets you see
- more of your object at once, or just a certain portion. Each zoom in
- or out will double or halve the scale respectively. You can also
- select a numerical zoom by selecting 'set zoom' in the View menu,
- which allows more precise magnification levels by simply typing in a
- number. Zoom in and zoom out are often used, so knowing the keyboard
- equivalents of right-Amiga-i and right-Amiga-o can save a lot of time.
-
- To scroll the views around, you can click in one of the three main
- views, then use the arrow keys to move the view in whatever direction
- you like. You'll notice that if you change one view, the others will
- change as well- all of the views are linked so they show the same
- volume of space. You can also scroll the view by telling Imagine where
- you want the view centered. You select 'Re-center' from the View menu
- and click on where you want the new center of your view to be. Usually
- you click right in the middle of the object or area you're interested
- in. The keyboard equivalent of right-Amiga-. (period) is very
- convenient.
-
- The display that Imagine shows you is very important, as it is your
- interface in dealing with everything in the program. One important
- option is found in the Display menu; it is called "interlace".
- Interlace will change the screen resolution which the display uses. An
- interlaced screen is 400 pixels high, whereas a non-interlaced screen
- is only 200. Unfortunately, the interlaced display will flicker on
- many Amigas. An Amiga 3000 or a "flicker-fixer" equipped Amiga will be
- able to use interlaced mode without the flicker. The interlaced mode
- allows much more detail and more precise location of points, so it is
- by far the preferred mode to work in. Even if you do have a flickering
- display, it is probably worth the annoyance to have the extra
- resolution.
-
- A couple ways to reduce the flicker if you have it: you can muck with
- the monitor's contrast and brightness, or you can change the screen
- colors using the imagine.config file (see my Project tutorial). My
- favorite solution is wearing sunglasses- it works very well indeed,
- and you look cool while using your computer.
-
- --------
- (Continued in next file...)
-
- From spworley@ATHENA.MIT.EDU Tue Jun 11 20:47:21 1991
- Received: from E40-008-11.MIT.EDU by ATHENA.MIT.EDU with SMTP
- id AA04877; Tue, 11 Jun 91 23:49:14 EDT
- From: spworley@ATHENA.MIT.EDU
- Received: by e40-008-11.MIT.EDU (5.61/4.7) id AA03394; Tue, 11 Jun 91 23:49:08 -0400
- Message-Id: <9106120349.AA03394@e40-008-11.MIT.EDU>
- To: imagine@ATHENA.MIT.EDU
- Subject: Introductory Detail Tutorial (File 2 of 3)
- Date: Tue, 11 Jun 91 23:49:06 EDT
- Status: RO
-
-
- -------------------------------------------------------------------------
- III. Moving Stuff in the Detail Editor
- -------------------------------------------------------------------------
-
- Knowing how to move your views around is important, as when you're
- manipulating an object you'll find yourself changing your viewpoints
- around constantly. There is a whole new set of commands for moving
- the OBJECTS in the editor around.
-
- In order to manipulate an object, we either have to load an existing
- one or start one from scratch. Imagine comes with several simple
- pre-built objects called 'primitives' that are very convenient to use
- as starting points for creating your own objects. Talking about these
- primitives doesn't really belong at this point in the tutorial, but
- it would be nice to be able to have something to look at and manipulate
- as each of the viewing and manipulation commands are presented.
-
- To make a primitive object, select 'add' in the Edit menu, and
- 'primitive' in the sub-menu. There are six simple shapes that Imagine
- will automagically create for you. They are a sphere, a cylinder, a
- cone, a disk, a plane, and a torus. When you select one, Imagine will
- ask how many points the object should have.
-
- With primitives like a sphere, the more points that define it, the
- smoother its appearance is going to be when rendered. Remember that
- even curved surfaces are made from triangles, and the surface becomes
- better defined with each point added. However, an object with more
- points than are necessary can become a burden; drawing the object in
- the editor takes more time, and although the final rendered picture
- with be higher quality with extra points, it will also take longer.
- Thus, when you add new primitive objects, Imagine asks what level of
- detail you would like.
-
- For example, the sphere primitive asks how many circle sections and
- how many vertical sections will make it up. The default is a
- reasonable number of defining points. If you were looking for a higher
- quality sphere because you were going to zoom in very closely to it,
- you might use extra points. If the object is going to sit in the
- background and not be examined closely, you might select fewer points.
- Most of the time, the defaults serve as a nice compromise, but you are
- much more likely to simplify the object as opposed to increase the
- default level of detail. The plane primitive in particular lends
- itself to simplification- most of the time you can bear with defining
- the simplest plane possible (2 triangles) as opposed to the
- overburdened default of a grid of 200 triangles.
-
- Each primitive lets you define the numbers of points that define it;
- the parameters that you can vary are all pretty self-explanatory. For
- example, the cylinder lets you define how many points are to form the
- circle around the rim, and also how many sections the body of the tube
- should be defined as. Other options (available for some primitives)
- are simple flags that define whether to close the ends of the cylinder
- (to create a hollow tube versus a log) or to 'stagger points' in some
- models. Staggering points increases the smoothness of curves- you
- should almost always leave it on. Note that the disk and the plane
- are actually flat objects- the others all have depth. All objects also
- let you define their size; this is quite straightforward.
-
- When you have loaded an object or added a primitive, you'll notice
- that you can see each point and edge in the wireframe. In addition,
- you'll see an AXIS, usually near the center of the object. In Imagine,
- EVERY OBJECT HAS IT'S OWN INDEPENDENT AXIS. An object's axis helps
- Imagine determine which way an object is facing, how it is scaled, and
- even what it's position is. Imagine doesn't understand what the
- objects ARE; it doesn't realize that a complex object like an airplane
- should orient itself with wheels down instead of balanced sideways on
- a wingtip. The axis actually defines the object's position; if you
- ask Imagine to move an object, Imagine really just moves the axis, and
- the object's points, edges, and faces are dragged along with it. When
- you rotate an object, the rotation occurs around the object's axis, as
- opposed to the world's absolute reference system. Scalings, where you
- change the size of the object, also use the object axis as a basis.
-
- When you want to manipulate a certain object, you have to tell Imagine
- which one (or ones!) that you're interested in, since you might have a
- dozen different object loaded at once. The way of choosing an object
- so you can manipulate it is just by clicking on it's axis. The object
- will turn a pretty blue color (or sometimes purple- more later!) which
- indicates that the object is chosen- any manipulation commands will
- be done on this one object. The object is said to be "picked", and
- Imagine knows that you want to apply commands to this object as
- opposed to another.
-
- Once you've picked an object, the most common manipulations are to
- move it around, rotate it, or scale it. These basic commands are often
- used, so Impulse has made it pretty easy to do. When you have a
- selected an object, you type the letter 'm' for move. The object will
- disappear (!) and be replaced by a big yellow "bounding box" which
- encloses the volume where your object was. This bounding box
- represents the size, shape, position, and orientation of your object.
- Since the box is so simple to draw, Imagine can update it in realtime
- as you manipulate it, allowing you to position it quickly and easily.
-
- After selecting the object and pressing "m", Imagine knows you want to
- move the object. Putting the cursor in any of the three main views,
- pressing the left mouse button and then dragging the mouse will drag
- your object in the direction you move. You do not have to click on the
- yellow box; anywhere in the view is fine. You can keep moving the
- object as long as you like; you can let go of the mouse button, move
- the pointer to another position in any of the three views, and
- continue moving the object. You are also welcome to zoom in and out,
- make one view full-screen, or re-center your views at any time. When
- you are finally done moving your object, pressing the space bar will
- accept the change and your object will be displayed as a wireframe in
- it's new location. If you've made a mistake, you can press the ESC
- key instead of the space bar. This also exits the move mode, but the
- object's position is unchanged from where it was before you started to
- move it. This is obviously useful for fixing mistakes or changing your
- mind.
-
- Two other commands work much like move: rotate and scale. If you
- select your object and press "r", you will rotate your object, and
- you'll see the yellow bounding box spin as you drag the mouse with the
- button down. You can also change spin axes (to pitch or bank the
- object, as opposed to yawing it) by pressing "x", "y", or "z" to
- define which axis you want to rotate around. All rotation is done
- around the OBJECT'S axis.
-
- Scaling is done by selecting "s" and dragging the mouse. Again,
- scaling is done relative to the OBJECT's axis. If the axis is in the
- center of the object, the object will grow in all directions. If it is
- at the bottom, the object will grow up and out, but not down.
-
- Each of these three commands (move, scale, and rotate) can be called
- either when you've picked an object or during any other move, scale,
- or rotate command. For example, you might pick an object, press "m"
- to move the object, position it in a new place, press "r" to spin it,
- then "s" to scale it. You do not have to press the space bar after
- every change; only after you are finally satisfied with the new
- location, size, and orientation of your object do you want to press
- the space bar to accept the changes you've made. Aborting by using
- the ESC key will remove all of the changes (movements, rotations, and
- scalings) that you've made.
-
- These manipulation commands are easy to use, and they have other
- controls that make certain manipulations even easier. At the bottom of
- the screen, there is a status bar that will highlight which mode
- you're in. If you are moving, the "M" in the "M=Move" at the bottom
- of the screen will be highlighted, and the "R" and "S" highlight when
- you're rotating or scaling.
-
- The "x", "y", and "z" commands that allow you to change rotation axes
- also work in moving and scaling. They act in these two modes as
- toggles- when you start a move, you are free to move it in all three
- directions, X, Y, and Z. You might want to restrict a direction of
- motion, though, if for example you are moving a table along a floor
- and you didn't want to accidentally lift the table into the air as you
- moved it left and right. Pressing the "x", "y", and "z" keys will
- toggle the allowable directions on and off, so pressing "z" will
- anchor the table's height, and pressing "z" again will allow you to
- lift it up if you change your mind. This also works in the scaling
- mode; if you want to make an object narrower without changing its
- height, you might toggle "z" and scale the object down. With the "z"
- toggle off, the object will maintain it's Z height, but will shrink in
- the X and Y directions. At any time, the display at the bottom of the
- screen shows the letters "X-Y-Z" and highlights the directions that
- are "active" or changeable.
-
- A related shortcut is using the capital letters "X", "Y", and "Z",
- which set the toggles to allow movement and scaling in one direction
- only. If you wanted to lift a table straight up, you just type "Z"
- and the table will be free to move up and down, but not in the X or Y
- directions. This method of setting the toggles overrides whatever
- position they were set in before, but you can use the individual
- toggles afterwards to set whatever freedoms you like.
-
- Imagine gives you even more flexibility if you want to use it.
- Whenever you move, rotate, and scale an object, it is based on a
- certain coordinate system. The default is to use the standard
- coordinate system- the set of axes that is fixed in place and shown at
- the bottom left of the three main views. This is called the "world"
- coordinate system. However, each object has it's own "local"
- coordinate system, defined by it's own axis. Imagine allows you to use
- a local coordinate system instead of the world system if you like.
-
- For example, if you have an object in the shape of a plane, the local
- coordinate system probably has the Y axis (going front to back) in
- line with the main fuselage of the plane. Using "r" to rotate the
- plane, you can easily position it so that it is angled up like it is
- climbing into the sky. If you then wanted to move it in a straight
- line along it's "flight path", the direction it's pointing, you could
- select move, and try to judge by eye the new position in the direction
- in front of the plane. If, instead, you select local mode (by using
- "l") and restrict motion along the Y direction by typing "Y", the
- plane will move smoothly along the line it's pointed along. In the
- world coordinate system, it's moving in both the Y and Z directions,
- but in it's local coordinate system, it's moving only in it's Y
- direction.
-
- To switch between coordinate systems, you just type "l" and "w"
- whenever you want to change. The current coordinate system has L or W
- highlighted at the bottom display just like the X-Y-Z indicators.
- Many times the local and world coordinate systems will be the same, so
- one is equivalent to the other.
-
- One final option when you're manipulating objects allows you to
- manipulate the axis of the object independently. If you want to move,
- scale, or rotate an object's axis [without simultaneously affecting
- the object!] you can use "M", "R", and "S", the capital letter
- versions of the object manipulation commands, to affect only the axis.
- There are some occasions you might want to do this for fancy tricks,
- but most of the time, you just want to move the axis around just so
- that it lies near the center of your object.
-
- The standard commands to move, rotate, and scale objects have been
- streamlined for ease of use since they are performed so often.
- Sometimes, however, they are somewhat lacking, especially when you
- need precise control over how your object is to be manipulated. For
- the precise control of object manipulation, Imagine has a special
- command called "Transform" which allows you to numerically control
- your object as opposed to judging by eye.
-
- The transform command works much like the standard interactive
- commands in that you first select your object (by clicking on it's
- axis) and then telling Imagine what to do to it. To enter the
- transform command, you click on the object (it becomes blue or purple)
- and pull down the menu item "transform" from the Object menu. A small
- requester will appear. You have six options you can choose from:
- translate, rotate, scale, position, alignment, and size. You also
- enter X, Y, and Z arguments.
-
- Translate takes the X, Y and Z arguments and moves (translates) the
- object that distance.
-
- Rotate will rotate the object around the axis you specify by an amount
- (in degrees) you specify in X, Y and Z. Performing more than one
- rotation at once is legal, but it is easy to make mistakes in final
- orientation. If you rotate around more than one axis at once, the Z
- rotation is performed, then the X rotation, then the Y rotation.
-
- Scale will scale your object by a certain factor. To double the size,
- just enter 2 in each of the X, Y, and Z boxes. A negative number is
- completely legal, and if one or three of the scalings is negative,
- you'll actually get a scaled mirror image of your original object.
-
- Position is like Translate in that it moves your object. Instead of
- moving a certain distance, however, it moves to absolute world
- coordinates.
-
- Alignment is also absolute; it will rotate your object in whatever way
- necessary to align in the direction you specify, regardless of the
- original orientation. Setting X, Y, Z all to zero will make the object
- line up exactly with the world axes.
-
- Size is again absolute. It uses the axis size as a benchmark, and will
- scale the object (and it's axis) to an absolute size. The "default"
- size that all axes start out at is 32 Imagine Units, so entering an
- XYZ size of 32 32 32 will bring most objects back to their virgin
- sizes.
-
- To use any of these sub-commands, just click on the box next to it's
- name and type in the appropriate X, Y, and Z arguments in the boxes to
- the right. Selecting "OK" will perform the manipulations, "cancel"
- will abort without affecting your object.
-
- You have the option to use world or local coordinates, just as in the
- interactive commands; just click on either box to decide. The default
- is the world system. You can also manipulate only the axis (like the
- capital letter commands in interactive manipulation) by selecting
- "transform axis only."
-
- Most manipulations use the interactive controls, and the
- transformation requester is used only for accurate, measured changes.
-
- One problem that you may run into after an interactive or a
- transformed manipulation is a "dirty" screen. Imagine erases the old
- object from before your move or scale or rotate, and draws it in the
- new position. However, to save time, it will not redraw any other
- wireframe object that was in view. This means that the areas were the
- old object intersected any other object in the view will be blank;
- part of the other object will be erased. If you want to check to see
- if this is the case, you can select "Redraw" from the Display menu,
- which will redraw all of the objects, eliminating the problem. One
- case where this is almost necessary is when you have multiple copies
- of an object at the same place. If you move one copy, the other isn't
- redrawn. Since it was in the exact same location as the old, erased,
- object, it looks like it has disappeared! This is easy to fix with
- redraw. It is another oft-used command, so knowing the keyboard
- equivalent of right-Amiga-r is handy.
-
- A problem you'll run into when manipulating complex objects is the
- sheer time it takes to redraw the wireframe model (in three views).
- Imagine has a way to speed the display of these objects- it shows
- the bounding box of the object (like the one shown in interactive
- manipulation) instead of the wireframe. You LOOSE the detailed view
- of your object, but you can still see the position, size, and
- orientation. To make an object "quickdraw" in this mode, you can
- use three commands in the Functions menu. "Quickdraw all" will make
- all of the objects display in quickdraw mode. "Quickdraw none" will
- make all objects display the normal wireframe. "Quickdraw pick" will
- make your picked (blue or purple highlighted) object display in
- quickdraw mode. These quickdraw boxes are very handy, and since
- they can be toggled at any time in the Detail Editor, it makes sense
- to use them when screen updates start to get too slow.
-
-
- -------------------------------------------------------------------------
- IV. Harvesting and Sorting with Pick
- -------------------------------------------------------------------------
-
- Since you can have many objects loaded at once, there has to be a way
- for you to tell Imagine what object or objects you want to deal with.
- You've done this already, by clicking on an object's axis, and
- watching it turn color. This shows that the picked object is ready to
- be manipulated on.
-
- What if we want to manipulate more than one object at a time? A
- standard way to "multi-pick" things (like icons in AmigaDos, or
- objects in Imagine) is to use the shift key. By holding the shift key
- as you click on objects, Imagine knows you want ALL of them picked,
- not just the latest one. In fact, if you press the shift key, the
- display line at the top of the screen will change to show how many
- objects are picked. Commands will affect all of the picked objects,
- not just one. In the case of moving, scaling, and rotating more than
- one object, the FIRST picked object's axis defines the basis of all
- the manipulations, as well as the local coordinate system for
- manipulating all of the objects.
-
- There are easier way to pick many objects than by repeatedly clicking
- on each object's axis. Imagine allows you to change how objects are
- picked by the "Pick Method" submenu in the Modes menu. The default is
- "click", which means that when you click directly on an object's axis,
- it will become picked. Other methods of picking can be chosen from
- the pick method submenu. If you use "drag box", instead of clicking on
- the object axes, you should press and hold the mouse button while
- dragging the mouse. A large box will follow your mouse, and when you
- release the button, an object within the box will become picked. If
- you press and hold the shift key when you release the mouse button,
- ALL of the objects within the box will become picked.
-
- Lasso is similar, but more versatile. You press and hold the button
- while drawing a large circle or oval or squiggly shape. When you
- release the button, an object within the region you've drawn will
- become picked. Again, you can hold the shift key to pick ALL of the
- objects within.
-
- A final option in the pick method submenu is called "Lock". Lock isn't
- a method of picking; it really has more to do with when moving picked
- objects. Lock is a flag; you can toggle it on and off by selecting it
- from its submenu. When Lock is on, any moved object will snap to the
- nearest grid location when released. This is automatic and is easier
- than using the one-time "Snap to Grid" (described later, I promise!)
- again and again when you're trying to get precise placement.
-
- Two other utility commands can be found in the Pick/Select menu.
- "Pick all" will pick ALL of the objects in your workspace. "Unpick
- Last" will allow you to remove the last object you picked from your
- set of picked objects. This is handy when you pick one too many
- objects and you want to unpick the last one you chose.
-
- It is easy to pick objects or sets of objects using the different pick
- methods. There is actually another powerful way to change what object
- or objects are picked; it is called "select." There is a very, very
- important difference between a "picked" object and a "selected"
- object; you've been using pick to highlight objects and manipulate
- them. Select is sort of a pick-wanna-be.
-
- One problem that can occur is when two object axes are directly on top
- of each other. If you click on the common axis location, one of the
- objects will become picked. (The first one that was created or loaded
- into the Editor). If you click again, the same object will remain
- picked and the second object will just sit there. If you hold the
- shift key and click on the common axis again, the second object WILL
- be picked, but now BOTH objects are picked. If you want to pick just
- the second object and not the first, you can either MOVE one object
- just to uncover the other axis, or you can use select.
-
- There is a solution when picking (or unpicking) objects becomes
- awkward (or impossible!). SELECT allows you to control what objects
- are picked by allowing you to add and remove objects from your set of
- picked objects one at a time.
-
- Think of buying lunch at a cafeteria, and you pick which food you want
- to eat. One way of "picking" food to add to your tray is by having the
- lunch worker point to each of the cafeteria's food bins, and saying
- "No, the next one, the next one, the next one- yes! That one!" as the
- worker points to the foods in turn. As the worker selects item after
- item, you can choose to PICK the item he's pointing to at any time.
- The analogy extends; What if your arms are full of cafeteria food and
- you want to put some back? Your arms are busy holding all the food;
- you can't easily grab an item and put it down. You can, however, ask
- a friend to "unpick" the item for you. If your friend has trouble
- with big words (like the names of food), he can just point at each
- food in your arms in turn until he points to the granola yogurt you
- want to put down. You then say "Yes, yes! Get rid of that!"
-
- This is exactly what select allows you to do. Your arms are full with
- picked objects. You can't just click on an object to "unpick" it
- because Imagine thinks you're just making sure you have it picked. You
- also might have problems indicating the right object to pick, as in
- the case of two objects on top of one another. The major difference
- between the the cafeteria and Imagine is that your mentally challenged
- friend is also the cafeteria worker, and will point to both types of
- objects for you.
-
- Select works by allowing you to highlight different objects in a
- controlled way. A "selected" object might be picked or not; A normal
- object is white, a selected object is orange, a picked object is blue,
- and a picked AND selected object is purple.
-
- Only one object is ever be selected at once, which is helpful in
- reducing confusion. The commands for selecting objects are completely
- different from those of PICKing objects; the whole point of select is
- that sometimes the methods used to pick objects are awkward, and
- select gives you an alternative way to pick them.
-
- The easiest and most common method of selecting an object is by using
- two commands, "Select next" and "Select previous", both found in the
- Pick/Select menu. Using "Select next" repeatedly will cycle through
- all of the objects in the order that they were created or loaded.
- This command does NOT care whether the object is picked or not; it
- will select all objects one at a time. "Select next" is often a
- command you want to repeat, so knowing the keyboard shortcut of
- right-amiga-n is almost necessary. By repeatedly using select next,
- ANY object can be selected because Select next will eventually reach
- it. "Select previous", right-amiga-p, will select objects in the
- opposite order, in case you overshoot with select next. One
- convenience is that when an object becomes selected, your view will
- jump to center the object on the screen, always allowing you to see
- what you just selected.
-
- When an object is selected, there are certain commands that will cause
- it to become picked or un-picked. The most common command is called
- "pick select", which can be found in the Pick/Select menu. When you
- use this menu option, the selected object will become picked. If the
- selected object is picked and you want to un-pick it, you can use
- "unpick select" from the pick/select menu to unpick it.
-
- "Select next" is kinda klunky, especially if you know exactly what
- object you want to select. One quick command that is sometimes useful
- is "Home", which selects the very first object you created or loaded
- into the Editor.
-
- Two other useful commands to quickly select specific objects are "Find
- by Name" and "Find requester", both found in the Functions menu. "Find
- by Name" allows you to type in an object's name (assigned in the
- Attributes requester, more later) and your view will shift to center
- on the object you named. In addition, the object becomes selected,
- allowing you to pick-select or unpick-select it. The "Find by
- Requester" does the same thing except it displays the names of all of
- the currently loaded objects, and you just click on the name you want
- to select. This requester is also useful because it tells you the size
- (# of points, edges, and faces) of each object, which is an excellent
- judge of object complexity. It's also fun to say "Cool! My tomato has
- 1,821 points!"
-
-
-
- ----------
- Continued in the next file...
-
- From spworley@ATHENA.MIT.EDU Tue Jun 11 21:15:50 1991
- Received: from E40-008-11.MIT.EDU by ATHENA.MIT.EDU with SMTP
- id AA05348; Wed, 12 Jun 91 00:17:48 EDT
- From: spworley@ATHENA.MIT.EDU
- Received: by e40-008-11.MIT.EDU (5.61/4.7) id AA03799; Wed, 12 Jun 91 00:17:43 -0400
- Message-Id: <9106120417.AA03799@e40-008-11.MIT.EDU>
- To: imagine@ATHENA.MIT.EDU
- Subject: Introductory Detail Tutorial (File 3 of 3)
- Date: Wed, 12 Jun 91 00:17:42 EDT
- Status: RO
-
-
-
- -------------------------------------------------------------------------
- V. Hierarchies and Complex objects
- -------------------------------------------------------------------------
-
- With complex models, sometimes you don't want to make one huge, mungo
- object to represent the entire model. You might want to make a forest
- object that has 20 trees in it, and it seems silly to carve the whole
- thing out of one block. Or, you might be building an object that is
- logically a bunch of separate parts, like a clock with a face, a
- pendulum, two hands, and a frame.
-
- Another important ability you might want is to be able to give
- different parts of a complex object different attributes, or colors.
- Imagine lets you color and define the look of your objects in
- different ways, and you can even tell it to make different parts of
- the same object look different. But when you're building something
- like a window, the glass panes are considerably different than the
- wood frames; it is easier to define each as a separate object then
- somehow group them together.
-
- There is a function that lets you do exactly this- group objects
- together. When you have a model that you want to make (and keep!) in
- separate sections, Imagine allows you to establish a group of objects
- which will stay together. It allows you to treat the group as an
- entire ensemble (if you want to move everything, or apply a command to
- the whole set), or you can pick out one particular object and deal
- with it independently.
-
- Grouping is very easy to do. If you want to group two objects
- together, you click on one object, then press the shift key and click
- on the other. Remember that this is just the method of picking more
- than one object at once. When you have multi-picked the objects, you
- select "group" from the Object menu. A purple line will appear joining
- the axes of the objects. The first object that was selected becomes
- the "parent" of the group. If you group more than two objects, the
- purple "group" lines all run from each "child" object to the parent
- object. This lets you see which axis to click on to pick the entire
- group. Sometimes it is nice to assign a lone axis as the parent of a
- group, especially when no part of a group really doesn't lend itself
- to being a parent.
-
- Splitting a group back into it's component parts is also easy; just
- pick the group by clicking on the parent. The entire group will become
- picked, and selecting "Ungroup" from the Object menu will split the
- group. The purple joining lines will disappear, and each child will
- be independent again.
-
- Once a group is made, it can be treated almost identically to an
- ungrouped object. You can pick it (by clicking on the parent) and the
- entire group will become highlighted. You can then move, scale, or
- rotate the entire group as a whole. If you click on a CHILD object,
- the child will be picked, but not the group. You can then move, scale,
- or rotate it independently of the group, assign it individual
- attributes, or perform a command on it independently of the rest of
- the group. Even when you move the child object around, it will STAY
- grouped; you must use "ungroup" to ungroup objects. There are modes
- where you can pick parents separate from their children; this is
- described in the next section.
-
- In addition, you can make groups of groups. Or groups of groups of
- groups. This is done exactly the same as before; you can pick one
- group, multi-pick a second, and group them. Having these multi-layer
- groups is sometimes very useful. One excellent example would be in
- modeling a human figure. You might make a finger group that contains
- all of the knuckles, a hand group including a palm, four finger
- groups, and a thumb group, an arm group consisting of a hand group, a
- wrist, a forearm, and an elbow, and a body group consisting of a head
- group, a torso, two leg groups, and two arm groups. This kind of
- nested grouping is called a "hierarchy", where the body is the
- great-granddaddy of a knuckle. One great advantage is obvious when you
- want to move an arm. You pick the arm, and rotate it around the
- shoulder. All of the arm's children follow it, so the arm moves as a
- whole. You do NOT have to move 15 knuckles, a palm, a wrist, a
- forearm, and so on. If you want to adjust a finger, you can manipulate
- it and the knuckles will move together, but the arm will be
- unaffected. If you move the main parent body group, everything follows
- along as if the body were just one solid object, as opposed to dozens
- of parts. Hierarchies are obviously suited for complex models.
-
- Groups are useful when you have sub-parts of an object you want to
- keep together. Sometimes grouping simple objects is still useful even
- if there is no hierarchy to follow, since the individual objects are
- free to move apart from the parent, and can easily be assigned different
- attributes.
-
- For example, if you're designing a human face, you might cause the
- eyeballs in the head to be an additional grouped object as opposed to
- just molded into the main face. Later, if you wanted to change the eye
- (make it a different color, or replace it with a different type of eye
- (chrome eyeballs! Cool!)) you can easily select the eye and change or
- replace it. This advantage compounds the other advantages of grouping;
- you can later animate the eyes looking in different directions, and
- you can easily change the attributes or texture of the eye while
- leaving the face undisturbed.
-
- -------------------------------------------------------------------------
- VII. Pick, Add, Drag. Pick, Add, Drag. Geez, how boring!
- -------------------------------------------------------------------------
-
- There are some useful commands that act on picked objects other than
- just moving, rotating, and scaling. Two of the most obvious are "Load"
- and "Save". Load will load a new object in from disk- it will give you
- a file requester which you can choose the filename from. The most
- common place to put objects are in your "objects" subdirectory in your
- project directory.See the Project Editor tutorial for the complete
- Imagine file structure.
-
- Am important suggestion; use descriptive names and extensions. I
- talked about this a lot in my Project tutorial, but it's worth
- repeating. "Obj1" is going to mean nothing to you an hour from now.
- "tablecloth.iob" tells you that this is an Imagine object of a
- tablecloth- a useful description. Some suggested file extensions:
-
- .iob Imagine Object. Loads into the Detail Editor
- .iout Imagine Object which is a faceless outline
- .ifm Imagine Form. Loads into the Form or Detail Editor
- .iff Amiga picture or brush (standard)
- .ham Amiga picture or brush in Hold-And-Modify format
- .iff24 24-bit Amiga picture of brush. Highest quality.
- .spth Imagine spline path
- .lpth Imagine line path
-
- Save will take the picked object or group and save it onto disk.
- Note that GROUPS will save as one big group, as long as you have the
- whole group picked by clicking on the parent. You can give the saved
- object or group any name you want, and you'll probably want use an
- extension of ".iob". If you pick a child of a group and save it,
- you save ONLY that object (and its children), and NOT the entire group
- it belongs to.
-
- Another command you can apply to picked objects is "Snap to Grid" from
- the Functions menu. It operates on all picked objects, moving each of
- them so that their axis lies on top of the nearest grid intersection.
- This is very useful in trying to line up objects or for precise
- positioning. This is much like a one-time "Lock".
-
- There are a few other utility object commands. "Cut", "Copy", and
- "Paste" are found in the Object menu. "Cut" will remove your object
- from the Imagine world and store it in memory. When you select
- "Paste", the object will be re-inserted into the world at the same
- place it was prior to the cut. In fact, the object is STILL retained
- in memory, so you can move the restored object around and use "Paste"
- again to get a second copy to manipulate. You can repeat "Paste" as
- many times as you like to get copies of objects. "Copy" is like cut,
- except the object is not removed from the world after being copied to
- memory. You can use "Paste" to add multiple copies to the world.
-
- Since the pasted objects are all put in the same location, often
- you'll have to move one copy to get to the next. Judicious use of
- "Redraw" can help in showing exactly what copies are still floating
- around.
-
- An incredibly useful command for making complex objects is called
- "Join", which can be found in the Functions menu. If you pick two or
- more objects, join will assemble them into one single object. The
- new conglomerate object will have use the axis of the first object
- that was picked, and will contain all of the points, edges, and faces
- of all of the joined objects. Joined objects are difficult to
- unjoin later, so only use it when you WANT a solid object. Join
- is used constantly- you might build a car with the body sides, and
- "join" on a side mirror, then join the roof on, then join the floor.
- Remember the advantages of groups though; you probably DON'T want
- to join the tires to the car; if you group them you can rotate them
- later, as well as define the chrome hubcap separately from the car's
- paint and the rubber tire.
-
- "Merge" is also found in the Functions menu. It is more of a utility
- command. It will remove any duplicate faces, edges or points in your
- object. Especially after you JOIN objects, you might have a lot of
- points lying on top of one another. Merge removes these extra,
- unneeded points, speeding rendering and even display in the editors.
- Merge also helps Phong shading; more about Phong shading in the soon
- to come Attribute Tutorial.
-
- Delete is pretty obvious command. It can also be found in the Functions
- menu. When you use delete, every picked object will be removed from the
- world. This command is used a lot to get rid of cruft and deadwood, so
- knowing the keyboard shortcut of right-amiga-d is useful.
-
- As with all of the editors, Imagine has one level of "Undo", which can
- be selected from the Project menu. When using dangerous commands like
- Delete, being able to recover from the command is important. Undo will
- work with almost any command. You can also undo an undo, reinstating a
- command you decided you wanted anyway.
-
- -------------------------------------------------------------------------
- VIII. Spraypaint and Picture Frames
- -------------------------------------------------------------------------
-
- The low-level commands to create and manipulate objects are sufficient
- to create any model you can think of. An additional level of control
- you have is the ability to define the surface color and attributes of
- your object. A flat plane might be made of two triangles, but
- depending on how you set the attributes of the plane, it might render
- as a pane of glass, a reflective mirror, a wood tabletop, a piece of
- graph paper, or a picture of your grandmother. Defining the surface
- characteristics of objects gives them their character. Luckily,
- Imagine gives you excellent control of these attributes.
-
- Every object has a set of attributes that can be modified. In a group,
- every object can have different attributes from the parent; when you
- select a group, you only modify the parent's attributes. To change any
- attributes, just pick an object and select "Attributes" from the Object
- menu. A requester will appear, and you can select different properties
- to change. In addition, you can place brush maps and textures on the
- object, as well as add or change the object's name.
-
- Choosing and setting attributes is immensely important to make your
- objects look good. Setting textures and especially brushmaps give you
- near-infinite control on what your object's surface looks like. I
- have written full tutorials on both the use of texture and brushmaps,
- and plan to write one on setting attributes. The choices in the
- attributes requester are so important that they deserve a tutorial
- unto themselves. I haven't written the attribute tutorial as of today
- (6/11/91), but look for it by the end of July.
-
-
- -------------------------------------------------------------------------
- IX. A Mode for Every Season
- -------------------------------------------------------------------------
-
- The basic commands to pick, move, and view the world and everything in
- it are very important, as they are used constantly. The actual work
- you perform in building objects depends on the user changing the view
- and manipulating the objects almost without thought.
-
- No matter how good we are at manipulating objects and changing the
- view, using these commands will never BUILD an object for us. To do
- this, Imagine has different MODES that it performs different actions
- in. Some modes allow us to manipulate objects and groups, as we have
- been doing already. Other modes let us pick and manipulate not
- objects, but the POINTS of an object, or the edges, or the faces.
- Still other modes let us drag points around in different ways. Some
- let us add NEW points, edges, and faces. (Aha! So that's how we can
- build our own objects!)
-
- These modes are easy to change; you can just pull down the Mode menu
- and select which mode you would like to be in. The current mode is
- always displayed in the status line at the top of the screen; this is
- often handy when you get confused about what you're doing. The
- keyboard equivalents for changing the current mode all use right-Amiga
- and a digit; this makes the keypad become a "mode selector" if you
- don't want to use the pull-down menus and have stuff it takes to
- remember which digit is which mode. Personally, I don't have the
- stuff, so I bear with the pulldown menu rather than strain my poor
- brain.
-
- The default mode is "Pick Groups", which means that whenever you click
- on a group, it will be picked. (Simple!) If you want to pick
- individual objects, EVEN IF THEY ARE THE PARENT OF A GROUP, there is
- a mode called "Pick Objects." Just select it from the mode menu, and
- now when you click on any object (in a group or not, child or parent)
- it will be selected. You cal obviously multi-select it using the shift
- key. When you are dealing with ungrouped objects, "Pick groups" and
- "Pick objects" work identically.
-
- Different modes let you deal with the different parts of an object. Up
- until this time, we've always dealt with entire objects at a time. We
- could rotate, scale, and move them, add them, group them, and delete
- them, though we could not affect their basic structure. The remaining
- modes all work on PARTS of objects, not objects themselves. One
- important note is that to even enter these other modes, you must have
- selected at least one object (or group) for the new modes to act apon.
-
- You'll also find that I consistently lied to you in most of the
- previous sections. I always referred to picking objects as opposed to
- picking anything else. ALL of the pick and select commands except Find
- work equally well in picking faces, edges, or points as opposed to
- just objects or groups. Most other commands like Delete will work on
- the parts of an object as well.
-
- One new mode is "Pick points." If you pick an object or group and
- enter the pick points" mode, the object will turn white (the object is
- NOT picked anymore!) and it's points will all become visible (they
- will show up as small squares.) Now you are in a different mode; you
- are no longer picking and selecting OBJECTS, you are dealing
- exclusively with points. You can then click on the points which will
- turn orange as you pick them. You can use the shift key to multi-pick,
- or the lasso and drag box to grab many points at once. You can also
- select points, and use all of the selection tools to help you get any
- subset of points you want. Selected points are green, picked points are
- orange, and picked and selected points are yellow.
-
- When you're picking points, edges, or faces, Imagine will work ONLY
- with the points, edges, or faces in the object that was picked before
- you chose the "pick points (or edges or faces)" mode. This prevents
- you from confusing one object's points with another's. When you scroll
- around your view or redraw the screen, the other objects won't even be
- updated, so don't get scared if they seem to disappear. When you
- re-enter pick objects or pick groups mode, all of the objects will
- re-appear.
-
- Just because you can pick something doesn't mean you can perform every
- command on them. In the case of points, you can delete your picked
- points, or use the transformation requester to translate them;
- interactive dragging is actually another mode of it's own, though.
- When you delete a point, you delete any edges and faces that that
- point help form. You cannot do things to selected points that make no
- sense (like grouping them, or saving them to a file)- that's just
- weird.
-
- You can perform some other commands that aren't applicable to objects
- as a whole, however. For example, a very useful command is called
- "split." It takes the selected points, removes them from the
- original object, and gives them their own axis. In effect, the
- original object is split into two parts defined by the points you
- picked. Any connecting faces or edges are deleted (two objects do NOT
- share!). This might be very useful when you have a logo and want to
- pull one letter out of the object to do something special with it.
-
- One command that is unique to pick points mode is "taut", which is
- found in the Functions menu. If you select three or more points and
- select "taut", the middle points will jump to the line segment defined
- by the first and last points. This command might be useful to line up
- a bunch of points in a straight line quickly. Taut does NOT work with
- anything other than picked points.
-
- Picked points can be manipulated with the Transform command. The
- picked points can be translated, scaled, rotated, and positioned
- INDEPENDENTLY of the rest of the object. Rotations and scalings all
- use the object's axis as a reference point. Absolute positioning will
- move the FIRST point you pick to the location you choose, and the
- rest of the picked points will be translated an equal amount. Interactive
- dragging is accomplished using the "drag points" mode.
-
- Picking edges is similar to picking points, except to specify an edge
- you just click on the two points that make it up, or lasso or drag box
- the entire edge. Just like points, you can't perform every command on
- them. You can delete them and split them.
-
- You CANNOT translate edges or use taut on them. Deleted edges will
- delete any face they belong to, but the points in the edges will NOT
- be removed.
-
- A new command you cannot perform on points but can use on faces is
- called "fracture." This command is in the Functions pull down menu,
- and is often very useful. The fracture command will take and break
- each edge into two edges, with an additional point added to the
- midpoint of each selected edge. This command is very useful when you
- need to increase the detail level at a certain area of an object; the
- extra edges that appear allow you to manipulate them to add finer
- details and structures.
-
- Select Faces is again pretty straightforward. You must click on ALL
- THREE of the points that make up the face to select it. Fracture works
- very well on faces; it splits each face (one triangle) into four
- triangles defined by the midpoints of the face. The new faces can then
- be manipulated for higher object definition.
-
- Deleting faces removes the faces, but not the edges or points that it was
- made up of.
-
- Picked faces allow you to characterize an object's appearance in local
- areas. The attribute requester normally allows you to give the object
- overall color, reflection, and transparency values. You can actually
- set these for every single face, if you like. You can pick one or more
- faces, select "attributes" from the Object menu, and use the sliders
- to set the color, transparency, and filter values for the face or
- faces.
-
- You will NOT see any change in the appearance of your object when you
- do this, but when you render, the faces you selected will all override
- the default object color with the attributes you selected. A danger is
- that face attributes are somewhat fragile. If you join or merge
- objects or start deleting or adding points to it, all face coloring is
- often lost. To keep this from happening, color individual faces LAST,
- just before saving your object.
-
- A final note about face coloring; don't depend on it for coloring your
- objects in complex ways. Using grouped objects or brush maps is much
- more robust and allows better control. Coloring individual faces is
- useful mostly for quick and dirty attribute definition or for making
- small details that aren't worth the bother of a brushmap or extra
- object.
-
- Both "pick edges" and "pick faces" will allow you to split off the
- selected parts of the object to create two new objects by using
- "split", just as split works with selected points.
-
- Three additional modes are "add points", "add edges", and "add faces".
- Add points will add an additional point to your object in the location
- you click on. Add edges lets you click on TWO points and will add a
- new edge joining them. Add faces mode will let you add a new face to
- an object by clicking on the THREE points that make it up.
-
- "Add lines" mode is a convenient combination of "add points" and "add
- edges". As you click, a new point is added in the location you point
- to, and further clicks will add additional points along with an edge
- joining the latest point to the one that was immediately preceding it.
- Thus, a few clicks around the border of a rough circle will make a set
- of points with the edges following the outline of that circle.
- Carefully clicking on the location of an existing point will cause the
- new line to connect to to that point, so making closed shapes is
- easier.
-
- "Drag points" mode allows you to interactively drag individual points
- in your object around. If you select this mode, you can click on any
- point and drag it to a new location interactively. Any edges or faces
- that this point is connected to will follow the point to its new
- location.
-
- Dragging multiple points is also easy- just use the shift key,
- multi-pick the points by clicking on each in turn, and when you want
- to start dragging them, just release the shift key.
-
- AN IMPORTANT TECHNIQUE: What if you want to select a point or points
- in one view, and drag them in an orthogonal direction? For example,
- you have a plane defined by a horizontal 10 by 10 grid, and you want
- to select a bunch of points from the middle and pull them up. If you
- click on the points from the top view, you can easily select any of
- the points you're interested in, but you can only drag them left and
- right, forward and back. You want to be able to drag them UP.
-
- Here's the method for doing this: it is invaluable, so remember it.
- Whether you want to move one point or a hundred, press the shift key
- to multi-pick the points. Click on the points you want to move in ANY
- view, keeping the shift key depressed. To move all of these points,
- KEEP THE SHIFT KEY DEPRESSED and move the mouse to the view where you
- want to move the points in. Press and hold the left button, then
- RELEASE the shift key. The picked points will move with your mouse for
- as long as you keep the button held down. Releasing the button will
- anchor the points.
-
- In the example with the 10 by 10 horizontal grid, you would press
- shift, click on the points you want in the top view, move to the front
- (or right) view, release the shift key, move the points up, and
- release the mouse button. That's it!
-
- Magnetism, a more complex way of dragging points will be covered in
- the "advanced" Detail tutorial.
-
- One problem with manipulating points, edges, and faces is picking the
- RIGHT point. When the object is complex, the wireframe displays can
- get very cluttered. There is a convenient way of simplifying a view to
- get points out of your view- it is a mode called "hide points". In
- hide points mode, any points you select (with click, drag box, or
- lasso) will disappear from view- they will go away. They still exist,
- they just aren't displayed and can't be picked or manipulated. You can
- "hide" whatever points that get in the way of your work area, then
- change modes, and manipulate the non-hidden parts of your object.
- Selecting "pick objects" or "pick groups" will make the hidden points
- re-appear.
-
- For example, if you're working on a helicopter model and you want to
- work on the rotor alone, you might select "hide points" mode, and use
- the lasso to indicate the main helicopter body. The rotor is left
- alone, and after changing into drag points or select faces mode, it is
- easy to indicate what portion of the rotor you want to deal with
- without accidentally modifying the helicopter body. Selecting "pick
- objects" mode makes the entire helicopter, with the rotor changes,
- reappear.
-
- In theory, you can create any object by adding an axis, then adding
- points, edges and faces. In practice, these are very low level
- commands; you generally use the more powerful commands like "mold" and
- "slice" found in the Object editor. The low level select and add modes
- are built to give you the low level control that you sometimes need;
- however, they are more for defining basic outlines that are then used
- in the more powerful Object commands, or for touching up small details
- on nearly complete objects. The next Detail tutorial will talk about
- these commands.
-
- -------------------------------------------------------------------------
- X. More to come
- -------------------------------------------------------------------------
-
- This tutorial describes the important fundamentals of using the Detail
- Editor. Remember that most object creation mostly uses the advanced
- functions like "mold" and "slice". My next tutorial will deal with
- these powerful tools; however, the basics that are described in this
- tutorial are very useful and knowing how to move your view and
- manipulate objects is virtually essential. I also plan to write a
- general tutorial (with examples!) describing object creation; knowing
- all the menu commands doesn't give you a sense of the strategies to
- follow or steps to take to create a specific model.
-
- Another important discussion in the followup Detail Tutorial will
- describe different classes of objects: lone axes, line paths,
- outlines, flat objects, and "normal" objects. Expect the second
- tutorial around the middle to end of July, 1991.
-
- Whew! Another tutorial whipped out! Actually, this one only covers 2/3
- of an Editor, but including everything would really stretch the limits
- of a coherent text file. (This one is only 71K!) I am very glad to
- have gotten a lot of positive response from my last tutorial on the
- Forms Editor; I hope this one (which covers a much more complex
- Editor) is equally well received.
-
- If you have any questions, you are welcome to write me or send
- e-mail to the Internet Imagine Mailing list, imagine@athena.mit.edu.
- Any suggestions or "I want to see this in a tutorial" questions
- sent to me personally will be gladly accepted.
-
-
- -Steve
-
- -------------------------------------------------------------------
- Steve Worley spworley@athena.mit.edu
- -------------------------------------------------------------------
-
-
- Steve Worley
- 290 Massachusetts Ave. (this address soon to change, but mail sent
- Cambridge MA 02139 here will eventually make it to me anyway...)
-
-
- ----------------------------------------------
-
- This file and the text therein is Copyright 1991 by Steven P. Worley.
- All rights reserved. This file may be distributed freely in computer
- or paper form as long as 1) It is unchanged and unedited 2) is
- distributed in its entirely 3) gives proper credit to the author,
- Steven Worley.
-
-
-